/bufferIO ...
Reader.ts
ReaderTools.ts
/core
Long.ts
format.ts
/headers
/headers/enums
DataDirectoryKind.ts
DllCharacteristics.ts
ImageCharacteristics.ts
MZSignature.ts
Machine.ts
PEMagic.ts
PESignature.ts
SectionCharacteristics.ts
Subsystem.ts
AddressRange.ts
DosHeader.ts
OptionalHeader.ts
PEHeader.ts
SectionHeader.ts
/imports
/imports/knockout
knockout-3.0.0.js
/layout
pe.css
pefile.html
/sample
sample.js
/typings
knockout.d.ts
LoaderContext.ts
PEFile.ts
pe.html
pe.ts
1
module pe.Reader {
2
 
3
  /**
4
   * Read 64-bit number in low-endian into @pe.Long object.
5
   */
6
  export function readLong(reader: Reader): Long {
7
    var result = new Long(reader.readInt(), reader.readInt());
8
    return result;
9
  }
10
 
11
  export function readZeroFilledAscii(reader: Reader, length: number): string {
12
    var intLength = (length/4) |0;
13
    if (intLength*4!==length)
14
      throw new Error('ASCIIZ string must have 4-aligned length ('+length+' provided).');
15
 
16
    var result = '';
17
    for (var i = 0; i<intLength; i++) {
18
      var i32 = reader.readInt();
19
 
20
      var c = i32 & 0xFF;
21
      if (!c) break;
22
      result += c;
23
 
24
      c = (i32>>8) & 0xFF;
25
      if (!c) break;
26
      result += c;
27
 
28
      c = (i32>>16) & 0xFF;
29
      if (!c) break;
30
      result += c;
31